#pragma once
#include "TBasisStd.h"

class TInputLayout
{
public:
	ID3D10InputLayout*      m_pVertexLayout;
public:
	HRESULT Create(		ID3D10Device* pDevice,
						D3D10_INPUT_ELEMENT_DESC* pLayout,
						UINT numElements,
						ID3D10EffectTechnique**  ppSetTechnique, 
						ID3D10InputLayout** ppGetVertexLayout = NULL  );

	HRESULT Create(		ID3D10Device* pDevice,
						D3D10_INPUT_ELEMENT_DESC* pLayout,
						UINT numElements,
						ID3D10Blob* pVSBuf,
						ID3D10InputLayout** ppGetVertexLayout = NULL );
	void				Apply(ID3D10Device* pDevice);
	bool				Release();
public:
	TInputLayout(void);
	~TInputLayout(void);
};
